package top.glkj.hms.dao;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import top.glkj.hms.entity.Room;
import top.glkj.hms.entity.RoomType;
import top.glkj.hms.utils.Status;

import java.util.List;

/**
 * @author : xgl
 * @version : 0.0.1
 * @date :2021/1/2 1:04
 */
public interface RoomDao extends JpaRepository<Room, Long>, JpaSpecificationExecutor<Room> {
    /**
     * 根据状态获取房间
     * @param status 状态
     * @return 房间集合
     */
    public List<Room> findAllByStatus(Status status);

    /**
     * 根据每日费用区间获取房间
     * @param minValue 最小价值
     * @param maxValue 最大价值
     * @return 房间集合
     */
    @Query("from Room where dailyRent>=:minValue and dailyRent<=:maxValue")
    public List<Room> findAllByDailyRent(double minValue,double maxValue);

    /**
     * 获取房间根据房间类型
     * @param roomType 房间类型
     * @return 房间集合
     */
    public List<Room> findAllByRoomType(RoomType roomType);
}
